import { upload } from "@/config/api"
import store from '@/store';

/**
 * iOS兼容的日期解析函数
 * 解决iOS设备上 new Date("yyyy-MM-dd HH:mm:ss") 格式不兼容的问题
 * @param {string} dateString - 日期字符串
 * @returns {Date|null} - 解析后的Date对象，解析失败返回null
 */
export const parseDate = (dateString) => {
	if (!dateString) return null;
	// 将 "YYYY-MM-DD HH:mm:ss" 格式转换为 "YYYY-MM-DDTHH:mm:ss" 格式（iOS兼容）
	const isoString = dateString.replace(' ', 'T');
	const date = new Date(isoString);
	// 检查日期是否有效
	if (isNaN(date.getTime())) {
		console.warn('Invalid date format:', dateString);
		return null;
	}
	return date;
};

/**
 * 上传图片
 */
export const uploadFilePromise = (url) => {
	return new Promise((resolve, reject) => {
		store.commit("setLoadingShow", true);
		uni.getFileSystemManager().readFile({
			filePath: url,
			encoding: 'base64',
			success: async res => {
				store.commit("setLoadingShow", false);
				let base64 = 'data:image/jpeg;base64,' + res.data
				const url = await upload({ file: base64 })
				if(url) {
					resolve(url)
				}
				reject()
			}, fail: (e) => {
				store.commit("setLoadingShow", false);
				reject()
			}
		})
	})
}
